home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MPW Related / MPW Interfaces / PInterfaces / Dialogs.p < prev    next >
Encoding:
Text File  |  1993-09-17  |  6.4 KB  |  235 lines  |  [TEXT/MPS ]

  1. {
  2.     File:        Dialogs.p
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. }
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT Dialogs;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingDialogs}
  22. {$SETC UsingDialogs := 1}
  23.  
  24. {$I+}
  25. {$SETC DialogsIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingWindows}
  28. {$I $$Shell(PInterfaces)Windows.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingTextEdit}
  31. {$I $$Shell(PInterfaces)TextEdit.p}
  32. {$ENDC}
  33. {$SETC UsingIncludes := DialogsIncludes}
  34.  
  35. CONST
  36. ctrlItem = 4;
  37. btnCtrl = 0;
  38. chkCtrl = 1;
  39. radCtrl = 2;
  40. resCtrl = 3;
  41. statText = 8;
  42. editText = 16;
  43. iconItem = 32;
  44. picItem = 64;
  45. userItem = 0;
  46. itemDisable = 128;
  47. ok = 1;
  48. cancel = 2;
  49. stopIcon = 0;
  50. noteIcon = 1;
  51. cautionIcon = 2;
  52.  
  53. TYPE
  54. { Dialog Item List Manipulation Constants }
  55. DITLMethod = INTEGER;
  56.  
  57. CONST
  58. overlayDITL = 0;
  59. appendDITLRight = 1;
  60. appendDITLBottom = 2;
  61.  
  62. TYPE
  63. StageList = PACKED RECORD
  64.  boldItm4: 0..1;                {default button item number - 1}
  65.  boxDrwn4: BOOLEAN;              {true if alert box to be drawn}
  66.  sound4: 0..3;                   {sound number}
  67.  boldItm3: 0..1;
  68.  boxDrwn3: BOOLEAN;
  69.  sound3: 0..3;
  70.  boldItm2: 0..1;
  71.  boxDrwn2: BOOLEAN;
  72.  sound2: 0..3;
  73.  boldItm1: 0..1;
  74.  boxDrwn1: BOOLEAN;
  75.  sound1: 0..3;
  76.  END;
  77.  
  78.  
  79. DialogPtr = WindowPtr;
  80. ResumeProcPtr = ProcPtr;        { PROCEDURE Resume; } 
  81. SoundProcPtr = ProcPtr;            { PROCEDURE DoSound; } 
  82. ModalFilterProcPtr = ProcPtr;   { FUNCTION Filter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER): BOOLEAN; }
  83.  
  84. DialogPeek = ^DialogRecord;
  85. DialogRecord = RECORD
  86.  window: WindowRecord;
  87.  items: Handle;
  88.  textH: TEHandle;
  89.  editField: INTEGER;
  90.  editOpen: INTEGER;
  91.  aDefItem: INTEGER;
  92.  END;
  93.  
  94. DialogTPtr = ^DialogTemplate;
  95. DialogTHndl = ^DialogTPtr;
  96. DialogTemplate = RECORD
  97.  boundsRect: Rect;
  98.  procID: INTEGER;
  99.  visible: BOOLEAN;
  100.  filler1: BOOLEAN;
  101.  goAwayFlag: BOOLEAN;
  102.  filler2: BOOLEAN;
  103.  refCon: LONGINT;
  104.  itemsID: INTEGER;
  105.  title: Str255;
  106.  END;
  107.  
  108. AlertTPtr = ^AlertTemplate;
  109. AlertTHndl = ^AlertTPtr;
  110. AlertTemplate = RECORD
  111.  boundsRect: Rect;
  112.  itemsID: INTEGER;
  113.  stages: StageList;
  114.  END;
  115.  
  116.  
  117. PROCEDURE InitDialogs(resumeProc: ResumeProcPtr);
  118.  INLINE $A97B;
  119. PROCEDURE ErrorSound(soundProc: SoundProcPtr);
  120.  INLINE $A98C;
  121. FUNCTION NewDialog(wStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
  122.  procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
  123.  itmLstHndl: Handle): DialogPtr;
  124.  INLINE $A97D;
  125. FUNCTION GetNewDialog(dialogID: INTEGER;dStorage: Ptr;behind: WindowPtr): DialogPtr;
  126.  INLINE $A97C;
  127. PROCEDURE CloseDialog(theDialog: DialogPtr);
  128.  INLINE $A982;
  129. PROCEDURE DisposDialog(theDialog: DialogPtr);
  130.  INLINE $A983;
  131. PROCEDURE DisposeDialog(theDialog: DialogPtr);
  132.  INLINE $A983;
  133. PROCEDURE ParamText(param0: Str255;param1: Str255;param2: Str255;param3: Str255);
  134.  INLINE $A98B;
  135. PROCEDURE ModalDialog(filterProc: ModalFilterProcPtr;VAR itemHit: INTEGER);
  136.  INLINE $A991;
  137. FUNCTION IsDialogEvent(theEvent: EventRecord): BOOLEAN;
  138.  INLINE $A97F;
  139. FUNCTION DialogSelect(theEvent: EventRecord;VAR theDialog: DialogPtr;VAR itemHit: INTEGER): BOOLEAN;
  140.  INLINE $A980;
  141. PROCEDURE DrawDialog(theDialog: DialogPtr);
  142.  INLINE $A981;
  143. PROCEDURE UpdateDialog(theDialog: DialogPtr;updateRgn: RgnHandle);
  144.  INLINE $A978;
  145. PROCEDURE UpdtDialog(theDialog: DialogPtr;updateRgn: RgnHandle);
  146.  INLINE $A978;
  147. FUNCTION Alert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  148.  INLINE $A985;
  149. FUNCTION StopAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  150.  INLINE $A986;
  151. FUNCTION NoteAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  152.  INLINE $A987;
  153. FUNCTION CautionAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  154.  INLINE $A988;
  155. PROCEDURE GetDialogItem(theDialog: DialogPtr;itemNo: INTEGER;VAR itemType: INTEGER;
  156.  VAR item: Handle;VAR box: Rect);
  157.  INLINE $A98D;
  158. PROCEDURE GetDItem(theDialog: DialogPtr;itemNo: INTEGER;VAR itemType: INTEGER;
  159.  VAR item: Handle;VAR box: Rect);
  160.  INLINE $A98D;
  161. PROCEDURE SetDialogItem(theDialog: DialogPtr;itemNo: INTEGER;itemType: INTEGER;
  162.  item: Handle;box: Rect);
  163.  INLINE $A98E;
  164. PROCEDURE SetDItem(theDialog: DialogPtr;itemNo: INTEGER;itemType: INTEGER;
  165.  item: Handle;box: Rect);
  166.  INLINE $A98E;
  167. PROCEDURE HideDialogItem(theDialog: DialogPtr;itemNo: INTEGER);
  168.  INLINE $A827;
  169. PROCEDURE HideDItem(theDialog: DialogPtr;itemNo: INTEGER);
  170.  INLINE $A827;
  171. PROCEDURE ShowDialogItem(theDialog: DialogPtr;itemNo: INTEGER);
  172.  INLINE $A828;
  173. PROCEDURE ShowDItem(theDialog: DialogPtr;itemNo: INTEGER);
  174.  INLINE $A828;
  175. PROCEDURE SelectDialogItemText(theDialog: DialogPtr;itemNo: INTEGER;strtSel: INTEGER;
  176.  endSel: INTEGER);
  177.  INLINE $A97E;
  178. PROCEDURE SelIText(theDialog: DialogPtr;itemNo: INTEGER;strtSel: INTEGER;
  179.  endSel: INTEGER);
  180.  INLINE $A97E;
  181. PROCEDURE GetDialogItemText(item: Handle;VAR text: Str255);
  182.  INLINE $A990;
  183. PROCEDURE GetIText(item: Handle;VAR text: Str255);
  184.  INLINE $A990;
  185. PROCEDURE SetDialogItemText(item: Handle;text: Str255);
  186.  INLINE $A98F;
  187. PROCEDURE SetIText(item: Handle;text: Str255);
  188.  INLINE $A98F;
  189. FUNCTION FindDialogItem(theDialog: DialogPtr;thePt: Point): INTEGER;
  190.  INLINE $A984;
  191. FUNCTION FindDItem(theDialog: DialogPtr;thePt: Point): INTEGER;
  192.  INLINE $A984;
  193. FUNCTION NewColorDialog(dStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
  194.  procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
  195.  items: Handle): DialogPtr;
  196.  INLINE $AA4B;
  197. FUNCTION NewCDialog(dStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
  198.  procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
  199.  items: Handle): DialogPtr;
  200.  INLINE $AA4B;
  201. FUNCTION GetAlertStage: INTEGER;
  202.  INLINE $3EB8,$0A9A;
  203. FUNCTION GetAlrtStage: INTEGER;
  204.  INLINE $3EB8,$0A9A;
  205. PROCEDURE ResetAlertStage;
  206.  INLINE $4278,$0A9A;
  207. PROCEDURE ResetAlrtStage;
  208.  INLINE $4278,$0A9A;
  209. PROCEDURE DialogCut(theDialog: DialogPtr);
  210. PROCEDURE DlgCut(theDialog: DialogPtr);
  211. PROCEDURE DialogPaste(theDialog: DialogPtr);
  212. PROCEDURE DlgPaste(theDialog: DialogPtr);
  213. PROCEDURE DialogCopy(theDialog: DialogPtr);
  214. PROCEDURE DlgCopy(theDialog: DialogPtr);
  215. PROCEDURE DialogDelete(theDialog: DialogPtr);
  216. PROCEDURE DlgDelete(theDialog: DialogPtr);
  217. PROCEDURE SetDialogFont(fontNum: INTEGER);
  218.  INLINE $31DF,$0AFA;
  219. PROCEDURE SetDAFont(fontNum: INTEGER);
  220.  INLINE $31DF,$0AFA;
  221.  
  222. PROCEDURE AppendDITL(theDialog: DialogPtr;theHandle: Handle;method: DITLMethod);
  223. FUNCTION CountDITL(theDialog: DialogPtr): INTEGER;
  224. PROCEDURE ShortenDITL(theDialog: DialogPtr;numberItems: INTEGER);
  225.  
  226.  
  227.  
  228.  
  229. {$ENDC} { UsingDialogs }
  230.  
  231. {$IFC NOT UsingIncludes}
  232.  END.
  233. {$ENDC}
  234.  
  235.